Contents

SysMon HELP

Contents (this topic)

Description

Operation

Menus

Application Notes

SysMon   Jan. 1995

SysMon is a shareware program.  The license price is $10 for unlimited use on a single computer.   When you use SysMon, you will be asked to register a license key.  When you register a key, by using the register menu to input your key value, the reminders to register will stop.  In the interim, you can use SysMon normally, since nothing is disabled.

To register, send your check to the author, along with the product name (SysMon), and the domain name of the NT computer where SysMon will be used (the name assigned to your computer when NT was installed).  You will receive a key value (a big number) by return post, or by e-mail if you provide an address.  Use this value with the register menu, to make the registration requests go away.  The same key may also be used with later versions of SysMon.  If you need to move the license to another computer (with a different domain name), a new key may be obtained gratis from the author.

The author may be contacted by any of the following means:

Compuserve	76450, 2336
FAX	(408) 942-9180
Phone	(408) 263-2268
Internet	mico@ix.netcom.com

post	Mike Cornelison
1806 Milmont Drive #185
Milpitas, CA  95035

You may freely redistribute SysMon, as long as all files in the original distribution are included, and no fee is charged except for media.  SysMon is copyrighted.  All rights are retained.  The author does not warrant the suitability of SysMon for any purpose.

Registration via CompuServe: GO SWREG and use registration ID 4443.  $10 will be deducted from your account.  Then E-mail your domain name and get your license key, to stop the registration reminders.


PWatch Description

SysMon Description

SysMon is a utility program which reports the usage of NT system resources, both overall and on a per-process basis.  With SysMon, you can observe what resource amounts are being used by which processes, either at a particular moment, or averaged over long periods of time.  A single compact display provides all this information continuously.

The following resources are monitored:
CPU time
memory  usage
page faults
disk IO counts
disk IO data rates
disk IO time

A discription of these resources may be found under the topic Application Notes.


Operation

Launch SysMon like any other NT application.

Select the menu  File | Time Interval.  In the dialog box that appears, enter a sampling time interval, in seconds.  Use a value between 0.1 and 999 seconds.  This is the measurement period for the report.  Each time this period has elapsed, a new report is generated.  The report will show the average resource utilization, overall and  per process, over this period of time.  If the period is small (e.g. < 1 second), the report will be frequently regenerated, and will constitute a "real-time" display of resource usage.

Use the menu  Report  to select from three report types.  The default report type is resources, which is the resource utilization report described above.  Two other report types are available.  The counter descriptions report displays a text description of the system objects and resource counters used in the resources report (these are the same as in the NT Performance Monitor utility).  The counter values report displays the current absolute values of all the resource counters used in the resources report.  These can be used to determine the total resource usage of the system, disks, or any running process, since the time of system or process startup.  See the topic Appplication Notes for more details.

Use the menu pause to temporarily suspend report regeneration.  The display will stay frozen at the last report.  You may use the menu snap to generate a new report at a chosen instant.  The interval of measurement will the the time since the previous report.   Use of the pause menu will change this menu item to resume.  Use resume to restore normal operation (new report generated every sample interval).

Use the menu  File | Save  to save your setups into a file (default type .smon).

Use the menu  File | Open  to load a previously saved setup file.  If you associate the file type .smon with the program file SysMon.exe, you may then double-click a setup file and SysMon will start, using these setups.

Sysmon may be started with a setup file specified on the command line.  If there is no file, the file default.smon will be used if it is found in the current directory.  Otherwise, internally defined defaults are used (medium fonts and a 1 second sample interval).


Menus

File
Time Interval	Set the periodic report update interval
Topmost	Set / reset window always on top mode
Header Font	Set font used for report headers
Body Font	Set font used for report body
Open	Load setups from a file
Save	Save setups to a file
Quit	Quit the application
Snap	Generate updated report immediately, reflecting resources used since the last report update
Pause	Suspend automatic report update at each time interval (as set using the Time Interval menu)
Resume	Resume automatic report update
Report	Choose report type:
Counter Descr	Report resource counter descriptions
Counter Values	Report current resource counter values
Resources	Report resources used since last report update
Help	Display application help file (this file)


Application Notes

In order for the NT disk performance counters to be activated, you must run the following command from a console window:   diskperf -y
This need be done only once, and will persist over a system reboot.

Here is a brief description of the resources reported:

system resources
avail. KB	available system memory, kilobytes
cache KB	available file system IO cache, kilobytes
PF/sec	page faults per second
TF/sec	transition faults per second
disk resources
% busy	% time the disk is busy, 0 -100%
IO/sec	input + output, operations per second
KB/sec	input + output, kilobytes per second
process resources
% CPU	% CPU utilization for the single process
IO/sec	input + output, operations per second
KB/sec	input + output, kilobytes per second
PF/sec	page faults per second
memKB	working set (real memory used), kilobytes
Pri	process base priority

The report type Counter Descr contains more extensive descriptions of the object types (system, disk, process) and resource counters used for the other report types (these descriptions come from NT itself).  For a detailed explanation of the resource counters and the corresponding NT internals, refer to the book "Optimizing Windows NT" by Russ Blake, available from Microsoft Press.

If the NT system being reported is a large and busy one, there could be many more processes than would fit in a normal display window.  SysMon allows you to monitor those processes that are using significant resources, by keeping the "busyest" processes within whatever window size you allow for the display.  Processes will be added or deleted from the active window area as needed, to keep the busyest ones in the window.  Those that stay in the window, by virtue of consistently being among the busyest, will tend to stay fixed in their row positions, rather than jumping around with each report update.

Mysteries and Anomalies

There are some.  Any additional insights from users would be welcome.

Disk % busy is capped at 100%, because it can exceed this value if not.  For smaller values, it seems to be consistent with the values reported from the NT Performance Monitor application.  Maybe Performance Monitor does the same thing.

Process disk IO counts are always zero, because the corresponding performance counters, which were available in NT 3.1, have been removed from NT 3.5.  I asked Microsoft about this, and got stonewalled.  I do not know if or when these counters will be restored.  I kept them in the code, in case they come back some day.  If you feel, as I do, that this was an arbitrary and stupid act, please complain to Microsoft.

Counter Values Report

The numbers displayed by this report are raw performance counter values.  These counters show the total resources used since system startup, or process creation.

The units of measure have been set as follows:

bytes:  1 = 1 byte
page faults:  1 = 1 fault
disk seconds:  1 = 1.0 seconds of disk busy time

disk megabytes:  1 = 1.0 megabytes, read + write
process seconds:  1 = 1.0 seconds of CPU usage time

process memory:  1 = 1 byte

process IO KBytes:  1 = 1000 bytes, read + write